#pragma once
#include "stdio.h"
#include "stdlib.h"
#include "assert.h"

typedef int slistdatatype;

typedef struct slistnode
{
	slistdatatype data;
	struct slistnode* next;
}slistnode;

slistnode* buyslistnode(slistdatatype x);
void slistprint(slistnode* plist);
void slistpushback(slistnode** plist, slistdatatype x);
void slistpushfront(slistnode** plist, slistdatatype x);
void slistpopback(slistnode** plist);
void slistpopfront(slistnode** plist);
slistnode* slistfind(slistnode* plist,slistdatatype x);
void slistinsertafter(slistnode* pos, slistdatatype x);
void slisteraseafter(slistnode* pos);
void slistdestroy(slistnode** plist);